package br.com.werp.regras.geral.integracao;

import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.vos.tabelas.Mercadoria_empresa;

import java.sql.Connection;
import java.sql.SQLException;

import java.util.List;
import java.util.ResourceBundle;


/**
 * @author Sobreira
 * Criado em 14/10/2005
 */
public class Mercadoria_empresaDAO extends MasterDAO {
    private static Mercadoria_empresaDAO mercadoria_empresaDAO;

    public Mercadoria_empresaDAO(String banco) throws Exception {
        super(banco);
    }

    public static Mercadoria_empresaDAO getMercadoria_empresaDAO()
        throws Exception {
        if (mercadoria_empresaDAO == null) {
            ResourceBundle bundle = ResourceBundle.getBundle(Constantes.CONFIG);
            mercadoria_empresaDAO =
                new Mercadoria_empresaDAO(bundle.getString(Constantes.BANCO));
        }

        return mercadoria_empresaDAO;
    }

    public Mercadoria_empresa obterMercadoria_empresa(int mcem_id)
        throws Exception {
        Connection connection = getConexao();

        return obterMercadoria_empresa(connection, mcem_id);
    }

    public Mercadoria_empresa obterMercadoria_empresa(Object conexao,
        int mcem_id) throws Exception {
        Connection conn = null;

        try {
            conn = (Connection) conexao;

            List l =
                preencheVO(conn, new Mercadoria_empresa(),
                    " mcem_id = " + mcem_id);

            if (l.isEmpty()) {
                return null;
            }

            return (Mercadoria_empresa) l.get(0);
        } catch (Exception e) {
            throw e;
        } finally {
            if (conn.getAutoCommit()) {
                liberaConeccao(conn);
            }
        }
    }

    public Mercadoria_empresa obterMercadoria_empresa(Object c, int merc_id,
        int empresa) throws Exception {
        Connection conn = null;

        try {
            conn = (Connection) c;

            String where =
                " mcem_mercadoria = " + merc_id + " and mcem_empresa=" +
                empresa;
            List l = preencheVO(conn, new Mercadoria_empresa(), where);

            if (l.isEmpty()) {
                return null;
            }

            return (Mercadoria_empresa) l.get(0);
        } finally {
            if (conn.getAutoCommit()) {
                liberaConeccao(conn);
            }
        }
    }

    public Mercadoria_empresa obterMercadoria_empresa(int mcem_id, int empresa)
        throws Exception {
        return obterMercadoria_empresa(getConexao(), mcem_id, empresa);
    }
}
